#pragma once

const int WINDOW_WIDTH = 800;
const int WINDOW_HEIGHT = 600;

const DATA_TYPE PI = 3.14159265f;
#define DEG2RAD(x) ((x) * PI / 180)
#define RAD2DEG(x) ((x) * 180 / PI)

const string strCEGUIInstallBasePath = "./CEGUI";

const DATA_TYPE FOCAL_LENGTH = 12.f;
const DATA_TYPE MOTION_BLUR_VALUE = 3.f;
const DATA_TYPE APERTURE_RATIO = 5.f;
const int NUM_SCREEN_EFFECT_SAMPLES = 200;

const DATA_TYPE EPSILON = 10E-3f;

const DATA_TYPE MAX_ADAPATIVE = 0.2f;
const unsigned int MAX_REFLECTION = 10;

const string DEFAULT_FILE_NAME = "Input/spheres1.scene.xml";

template<class T>
T clamp(T v, T a, T b)
{
    return v < a ? a : b < v ? b : v; 
}